// 《围棋》作者版权所有。保留所有权利。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

// 开始：构建openbsd&！mips64 

package runtime

import (
	"internal/abi"
	"unsafe"
)

// 蹦床函数将Go调用约定转换为C调用约定
// 然后调用底层的libc函数。这些都是在sys_openbsd_u$ARCH中定义的。s、 go:cgo_不安全_________________________________________________________________________________________________________________。Arg当然需要保持活动状态才能启动功能。

func pthread_attr_init(attr *pthreadattr) int32 {
	ret := libcCall(unsafe.Pointer(abi.FuncPCABI0(pthread_attr_init_trampoline)), unsafe.Pointer(&attr))
	KeepAlive(attr)
	return ret
}
func pthread_attr_init_trampoline()

func pthread_attr_destroy(attr *pthreadattr) int32 {
	ret := libcCall(unsafe.Pointer(abi.FuncPCABI0(pthread_attr_destroy_trampoline)), unsafe.Pointer(&attr))
	KeepAlive(attr)
	return ret
}
func pthread_attr_destroy_trampoline()

func pthread_attr_getstacksize(attr *pthreadattr, size *uintptr) int32 {
	ret := libcCall(unsafe.Pointer(abi.FuncPCABI0(pthread_attr_getstacksize_trampoline)), unsafe.Pointer(&attr))
	KeepAlive(attr)
	KeepAlive(size)
	return ret
}
func pthread_attr_getstacksize_trampoline()

func pthread_attr_setdetachstate(attr *pthreadattr, state int) int32 {
	ret := libcCall(unsafe.Pointer(abi.FuncPCABI0(pthread_attr_setdetachstate_trampoline)), unsafe.Pointer(&attr))
	KeepAlive(attr)
	return ret
}
func pthread_attr_setdetachstate_trampoline()

func pthread_create(attr *pthreadattr, start uintptr, arg unsafe.Pointer) int32 {
	ret := libcCall(unsafe.Pointer(abi.FuncPCABI0(pthread_create_trampoline)), unsafe.Pointer(&attr))
	KeepAlive(attr)
	return ret
}
func pthread_create_trampoline()

// 告诉链接器libc_*函数将在系统库中找到，但libc_*前缀丢失。中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府：中国政府进口（中国政府：中国政府：中国政府：中国政府：中国政府：中国进口（中国政府）进口（中国政府）的动态的国家（中国政府）在中国政府：中国政府，中国政府（中国政府）在中国政府（中国政府）进口）的动态的动态的动态的国家（中国政府，中国政府（中国政府）进口（中国政府）在中国政府）进口（中国政府）在中国政府）在中国政府）进口（中国政府）进口）的动态的动态的动态的中国政府）的动态的中国政府，中国政府，中国政府，中国政府（中国政府）进口美国pthread_attr_setdetachstate”libpthread.so“

// go:cgo_import_dynamic libc_pthread_create pthread_create”libpthread.so“
// go:cgo_import_dynamic libc_pthread_sigmask pthread_sigmask”libpthread.so“

// go:cgo:cgo_import_dynamic_import_libpthread.so”
